home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-29 | 4.7 KB | 265 lines | [TEXT/CWIE] |
- // EverythingDoc.c -- document-level functions
-
- #include <Types.h>
- #include <Events.h>
- #include <Menus.h>
- #include <stdlib.h>
-
- #include "Globals.h"
- #include "ResourceDefs.h"
- #include "Dispatcher.h"
- #include "Miscellany.h"
- #include "EverythingEngine.h"
-
- #include "ModalButtons.h"
- #include "ModalCheckboxes.h"
- #include "ModalRadios.h"
- #include "ModalText.h"
- #include "ModalStuff.h"
- #include "ModalBars.h"
- #include "DDocData.h"
- #include "Buttons.h"
- #include "DDocData.h"
- #include "Checkboxes.h"
- #include "DDocData.h"
- #include "Radios.h"
- #include "DDocData.h"
- #include "EditText.h"
- #include "DDocData.h"
- #include "Stuff.h"
- #include "DDocData.h"
- #include "Bars.h"
- #include "EverythingDoc.h"
-
- static EverythingEngine* GetEngine (AMDoc* self);
-
- static void DoModalButtons (AMDoc* self);
- static void DoModalCheckboxes (AMDoc* self);
- static void DoModalRadios (AMDoc* self);
- static void DoModalText (AMDoc* self);
- static void DoModalStuff (AMDoc* self);
- static void DoModalMoreStuff (AMDoc* self);
-
- //----------
- EverythingDoc* NewEverythingDoc ()
- {
- EverythingDoc* doc;
-
- doc = (EverythingDoc*)malloc (sizeof (EverythingDoc));
- EverythingDoc_Init (doc);
- SetClassID (doc, classEverythingDoc);
-
- return doc;
- }
-
- //----------
- void DeleteDoc (
- AMDoc* doc)
- {
- EverythingDoc_Free ((EverythingDoc*)doc);
- free (doc);
- }
-
- //----------
- void EverythingDoc_Init (
- EverythingDoc* self)
- {
- ((AMDoc*)self)->mEngine = (AMEngine*) NewEverythingEngine ();
-
- self->mButtonsPtr = nil;
- self->mCheckboxesPtr = nil;
- self->mRadiosPtr = nil;
- self->mEditTextPtr = nil;
- self->mStuffPtr = nil;
- self->mBarsPtr = nil;
- }
-
- //----------
- void EverythingDoc_Free (
- EverythingDoc* self)
- {
- }
-
- //----------
- EverythingEngine* GetEngine (
- AMDoc* self)
- {
- return (EverythingEngine*) (self->mEngine);
- }
-
- //----------
- void OpenWindows (
- AMDoc* self)
- {
- EverythingEngine* engine = GetEngine (self);
-
- // replace this code to get data from someplace useful
-
- Buttons_Create (self, GetDocData (engine));
- Checkboxes_Create (self, GetDocData (engine));
- Radios_Create (self, GetDocData (engine));
- EditText_Create (self, GetDocData (engine));
- Stuff_Create (self, GetDocData (engine));
- Bars_Create (self, GetDocData (engine));
- }
-
- //----------
- Boolean WouldCloseDoc (
- AMDoc* doc,
- WindowPtr inWindPtr)
- {
- EverythingDoc* self = (EverythingDoc*) doc;
- short numOpen = 0;
-
- if (self->mButtonsPtr != nil) numOpen++;
- if (self->mCheckboxesPtr != nil) numOpen++;
- if (self->mRadiosPtr != nil) numOpen++;
- if (self->mEditTextPtr != nil) numOpen++;
- if (self->mStuffPtr != nil) numOpen++;
- if (self->mBarsPtr != nil) numOpen++;
-
- return (numOpen <= 1);
- }
-
- //----------
- void DoModalButtons (
- AMDoc* self)
- {
- if (GetModalButtons ()) {
- /* do something */
- }
- }
-
- //----------
- void DoModalCheckboxes (
- AMDoc* self)
- {
- DModalCheckboxesData* data;
-
- data = NewDModalCheckboxesData ();
-
- // initialize data
-
- if (GetModalCheckboxes (data)) {
- // user clicked OK, so
- // do something with data
- }
- DeleteDModalCheckboxesData (data);
- }
-
- //----------
- void DoModalRadios (
- AMDoc* self)
- {
- DModalRadiosData* data;
-
- data = NewDModalRadiosData ();
-
- // initialize data
-
- if (GetModalRadios (data)) {
- // user clicked OK, so
- // do something with data
- }
- DeleteDModalRadiosData (data);
- }
-
- //----------
- void DoModalText (
- AMDoc* self)
- {
- DModalTextData* data;
-
- data = NewDModalTextData ();
-
- // initialize data
-
- if (GetModalText (data)) {
- // user clicked OK, so
- // do something with data
- }
- DeleteDModalTextData (data);
- }
-
- //----------
- void DoModalStuff (
- AMDoc* self)
- {
- DModalStuffData* data;
-
- data = NewDModalStuffData ();
-
- // initialize data
-
- if (GetModalStuff (data)) {
- // user clicked OK, so
- // do something with data
- }
- DeleteDModalStuffData (data);
- }
-
- //----------
- void DoModalMoreStuff (
- AMDoc* self)
- {
- DModalBarsData* data;
-
- data = NewDModalBarsData ();
-
- // initialize data
-
- if (GetModalBars (data)) {
- // user clicked OK, so
- // do something with data
- }
- DeleteDModalBarsData (data);
- }
-
- //----------
- Boolean DoDocCommand (
- AMDoc* self,
- long inCommand)
- {
- Boolean result = true;
-
- switch (inCommand) {
- case cmdSave:
- DoSave (self);
- break;
- case cmdSaveAs:
- DoSaveAs (self);
- break;
- case cmdRevert:
- DoRevert (self);
- break;
- case cmdPageSetup:
- DoPageSetup (self);
- break;
- case cmdPrint:
- DoPrint (self);
- break;
- case cmdModalButtons:
- DoModalButtons (self);
- break;
- case cmdModalCheckboxes:
- DoModalCheckboxes (self);
- break;
- case cmdModalRadios:
- DoModalRadios (self);
- break;
- case cmdModalText:
- DoModalText (self);
- break;
- case cmdModalStuff:
- DoModalStuff (self);
- break;
- case cmdModalMoreStuff:
- DoModalMoreStuff (self);
- break;
-
- default:
- result = false;
- } // switch
- return result;
- }
-